using System;
using System.Collections.Generic;
using System.Text;

namespace My.IdlConverter.Core.Parsers
{
    public abstract class PreprocessorBase<T> : IPreprocessor<T>
        where T : class
    {
        private T _consumer;

        public PreprocessorBase()
        {
        }

        public PreprocessorBase(T consumer)
        {
            _consumer = consumer;
        }

        public T Consumer
        {
            get
            {
                return _consumer;
            }
            set
            {
                _consumer = value;
            }
        }

        public abstract T Process();
    }
}
